#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <string>
#include "Lista.h"
#include "archivoTexto.h"
#include "Palabras.h"
#include "Autor.h"
#include "ListaPrincipal.h"
#include "ProcesadorTextos.h"
#include "PredictorAutores.h"
#include "ArbolDecision.h"

using namespace std;

int main(int argc, char *argv[]){

	Lista<Autor*>* autores = new Lista<Autor*>();

	autores->agregar(new Autor("M")); // agrego a marx
	autores->agregar(new Autor("W")); // agrego a weber;

	ProcesadorTextos procesador(autores);

	//carga de listas de cada autor con todas las palabras
	procesador.procesarListas("./train.csv");

	IteradorLista<Autor*> itAutores = autores->iterador();
	ListaPrincipal* lista = new ListaPrincipal();

	procesador.setListaPrincipal(lista);

	//carga de la lista principal con las palabras mas frecuentes de cada autor
	procesador.procesarListaPrincipal();

    //carga de frecuencias parciales por parrafo

	procesador.procesarFrecuenciasParciales("./train.csv");

	ArbolDecision arbol(lista);
	PredictorAutores predictor;

	predictor.predecir("./pruebaCompleta.csv",arbol);
}
